home *** CD-ROM | disk | FTP | other *** search
- /* MUTILS.C
- *
- * Miscellaneous utility functions for MIDAS Sound System used
- * by various system components.
- *
- * $Id: mutils.c,v 1.3 1997/01/16 18:41:59 pekangas Exp $
- *
- * Copyright 1996,1997 Housemarque Inc.
- *
- * This file is part of the MIDAS Sound System, and may only be
- * used, modified and distributed under the terms of the MIDAS
- * Sound System license, LICENSE.TXT. By continuing to use,
- * modify or distribute this file you indicate that you have
- * read the license and understand and accept it fully.
- */
-
-
- #include "lang.h"
- #include "mutils.h"
- #include "string.h"
- #include <stdlib.h>
- #include <stdio.h>
-
- /****************************************************************************\
- *
- * Function: int mGetKey(void)
- *
- * Description: Waits for a keypress and returns the read key
- *
- * Returns: ASCII code for the key pressed. Extended keycodes are
- * returned with bit 8 set, eg. up arrow becomes \x148.
- *
- \****************************************************************************/
-
- int CALLING mGetKey(void)
- {
- char c;
- #ifdef __LINUX__
- #define getch getchar
- #endif
-
- c = getch();
-
- if ( !c )
- return 0x100+getch();
- else
- return c;
- };
-
- /****************************************************************************\
- *
- * Function: int mStrLength(const char *str)
- *
- * Description: Calculates the length of a ASCIIZ string
- *
- * Input: char *str pointer to string
- *
- * Returns: String length excluding the terminating '\0'.
- *
- \****************************************************************************/
-
- int CALLING mStrLength(const char *str)
- {
- return strlen(str);
- }
-
- /****************************************************************************\
- *
- * Function: void mStrCopy(char *dest, const char *src);
- *
- * Description: Copies an ASCIIZ string from *src to *dest.
- *
- * Input: char *dest pointer to destination string
- * char *src pointer to source string
- *
- \****************************************************************************/
-
- void CALLING mStrCopy(char *dest, const char *src)
- {
- strcpy(dest, src);
- }
-
- /****************************************************************************\
- *
- * Function: void mStrAppend(char *dest, const char *src);
- *
- * Description: Appends an ASCIIZ string to the end of another.
- *
- * Input: char *dest pointer to destination string
- * char *src pointer to source string
- *
- \****************************************************************************/
-
- void CALLING mStrAppend(char *dest, const char *src)
- {
- strcat(dest, src);
- }
-
- /****************************************************************************\
- *
- * Function: void mMemCopy(void *dest, const void *src, unsigned numBytes);
- *
- * Description: Copies a memory block from *src to *dest.
- *
- * Input: void *dest pointer to destination
- * void *src pointer to source
- * unsigned numBytes number of bytes to copy
- *
- \****************************************************************************/
-
- void CALLING mMemCopy(void *dest, const void *src, unsigned numBytes)
- {
- memcpy(dest, src, numBytes);
- }
-
-
- /****************************************************************************\
- *
- * Function: int mMemEqual(const void *m1, const void *m2,
- * unsigned numBytes);
- *
- * Description: Compares two memory blocks.
- *
- * Input: void *m1 pointer to memory block #1
- * void *m2 pointer to memory block #2
- * unsigned numBytes number of bytes to compare
- *
- * Returns: 1 if the memory blocks are equal, 0 if not.
- *
- \****************************************************************************/
-
- int CALLING mMemEqual(const void *m1, const void *m2, unsigned numBytes)
- {
- if ( memcmp(m1, m2, numBytes ) )
- return 0;
- else
- return 1;
- }
-
- /****************************************************************************\
- *
- * Function: long mHex2Long(const char *hex)
- *
- * Description: Converts a hexadecimal string to a long integer.
- *
- * Input: char *hex pointer to hex string, ASCIIZ
- *
- * Returns: Value of the string or -1 if conversion failure.
- *
- \****************************************************************************/
-
- long CALLING mHex2Long(const char *hex)
- {
- static unsigned int l;
-
- if ((sscanf(hex, "%x", &l) ) > 0 )
- return l;
- else
- return -1;
- }
-
-
- /****************************************************************************\
- *
- * Function: long mDec2Long(const char *dec)
- *
- * Description: Converts an unsigned decimal string to a long integer
- *
- * Input: char *dec pointer to string, ASCIIZ
- *
- * Returns: Value of the string or -1 if conversion failure.
- *
- \****************************************************************************/
-
- long CALLING mDec2Long(const char *dec)
- {
- static int l;
-
- if ( (sscanf(dec, "%d", &l)) > 0 )
- return l;
- else
- return -1;
- }
-
-
- /***************************************************************************\
- *
- * Function: char *mGetEnv(const char *envVar);
- *
- * Description: Searches a string from the environment
- *
- * Input: envVar environment variable name, ASCIIZ
- *
- * Returns: Pointer to environment string value (ASCIIZ), NULL if string
- * was not found.
- *
- \***************************************************************************/
-
- char * CALLING mGetEnv(const char *envVar)
- {
- return getenv(envVar);
- }
-
- /*
- * $Log: mutils.c,v $
- * Revision 1.3 1997/01/16 18:41:59 pekangas
- * Changed copyright messages to Housemarque
- *
- * Revision 1.2 1996/05/24 20:40:12 jpaana
- * Fixed mMemEqual
- *
- * Revision 1.1 1996/05/24 16:20:36 jpaana
- * Initial revision
- *
- *
- */
-